The present invention relates to a rate matching process which is performed in more than one rate matching stage.
Transmission channels in communications systems provide certain data rates for data transfer. This is due to their embedding in a communications system which entails restrictions on the data rate. However, the data rate of an application might differ from the data rate provided by the transmission channel. Therefore, the individual data rates have to be matched at an interface. This will be further detailed using an example in UMTS (Universal Mobile Telecommunications System).
A major aspect of UMTS is to offer enhanced data rates in comparison to previous mobile communications systems. Therefore, a special downlink transmission is currently being established, the so called High Speed Data Access (HSDPA), which uses the HS-DSCH (High Speed Dedicated Downlink Shared Channel) as data channel and the HS-SCCH (HSDSCH related Shared Control Channel) as related control channel.
The HSDPA data channel is basically an enhancement of the existing UMTS downlink shared channel. HSDPA allows coding of multiplex different users or mobile stations on up to 15 codes with a spreading factor of 16. The primary multiple access, however, is in the time domain, where different users can be scheduled every transmission time interval (TTI), which corresponds to 3 UMTS slots (i.e., 2 ms) so the TTI is a special time window. Also, the number of codes allocated to one user can change from TTI to TTI. Depending on the system load and channel conditions, the base station or Node B adapts modulation and code rate for each user. A certain combination of code rate and modulation is referred to as MCS (Modulation and Coding Scheme) level, which may change every TTI. A certain MCS is selected on the basis of channel condition measurements.
To achieve the high data rates, modulation and coding schemes are used which allow a high information bit rate per code. For channel coding a rate R=1/3 code, a turbo code is typically used.
For channel coding, bits are added to the actual information carrying bits in order to be able to reconstruct the actual information carrying bits in the receiver; also, in the case that during the data transfer alterations occurred. The actual information carrying bits are referred to as systematic bits or load bits, the additional bits used for the protection as parity bits.
The rate of a turbo code denotes the relation between the systematic bits and the total number of bits to be transferred.
In FIG. 1, a fragment of the transport channel coding structure for the HS-DSCH is shown. After channel coding follows the so called Physical Layer Hybrid ARQ (Automatic Repeat Request) functionality, which includes the rate matching functionality which matches the number of bits at the output of the channel (turbo) coder to the total number of bits of the HS-DSCH physical channels.
The Hybrid-ARQ functionality is controlled by the parameter RV (Redundancy Version); i.e., the exact set of bits at the output of the physical-layer Hybrid-ARQ functionality depends on the number of input bits, the number of output bits, and the RV parameter, which itself includes the parameters s and r. The RV parameter s can take the value 0 or 1 to distinguish self-decodable (1) or non self-decodable transmissions (0). For self-decodable transmissions, preference is given to the systematic bits which are identical to the bits input to the turbo decoder. Apparently, if all systematic bits (plus some parity bits) are transmitted, then the packet can be decoded, at least in good enough channel conditions. If not all systematic bits are transmitted, the packet may not be decodable, depending on the exact selection of parity bits. For non-self-decodable transmissions preference is given to the parity bits. These transmissions are, in particular, effective for retransmissions because they contain different bits than the initial transmission and therefore offer good performance when combined with an initial self-decodable transmission. The RV parameter r does not change the relative number of systematic and parity bits, but establishes which set of bits are used within these classes. In this way different retransmissions can be selected, even if s is selected equal.
The physical-layer Hybrid ARQ functionality consists of two rate-matching stages as shown in FIG. 2.
There is a first rate-matching stage where only the parity bits are punctured, if the number of bits after channel coding exceeds the storage capability of the UE. For rate-matching two possibilities exist, either cutting out bits, which is referred to as puncturing, or repeating bits.
The number of output bits does not yet match the number of physical-channel bits available in the HS-DSCH TTI. Instead, the number of output bits matches the available user equipment (UE) soft-buffering capability, information about which is provided by higher layers. Note that, if the number of input bits does not exceed the UE soft-buffering capability, the first rate-matching stage is transparent. The UE soft-buffering capability is also referred to as the virtual incremental redundancy (IR) buffer.
The second rate-matching stage matches the number of bits at the output of the first rate-matching stage to the number of physical-channel bits available in the HS-DSCH TTI. The second rate-matching stage uses an algorithm for puncturing or repeating bits. The algorithm may use different values for the rate-matching parameters; e.g., the eini parameter that basically shifts the puncturing pattern. The eini parameter depends again on the so-called redundancy version or RV parameter; in particular, on r. Different redundancy versions all select the same number of bits of the relevant type, but different bits. This will be explained later in more detail. Depending on the value of the RV parameter, the rate matching algorithm may also be applied differently to a different set of input bits (systematic and parity bits).
The above-described rate-matching can be generally described as adapting the rates of the various input bit streams to the externally fixed rate of the transmission channel. Instead of speaking of a “rate” or “bit stream,” the situation can be described in a time window. In that time window a number of bits depending on the respective bit rate will appear. Then, instead of comparing the rates, one can compare the number of bits in the time window.
The above-described approach with the two rate matching stages is currently in discussion. Even if it offers a range of advantages, like simple buffer management in the user terminal or user equipment (UE), simple parameter calculation and reuse of the already existing rate matching algorithm, which is used in the Release 99 version of the UMTS specification in certain cases this type of rate matching becomes disadvantageous. This is especially the case when the UE (user equipment) buffer rate matching punctures due to limited UE soft-buffering capabilities and the channel rate matching stage performs repetition. Repetition occurs in the second stage, when the number of available channel bits within the TTI is higher than the UE virtual IR (incremental redundancy) buffer capability.
However, from the point of view of improving the possibility of a good detection on the receiver side, this is disadvantageous, as investigations have shown.